package com.huhao.concurrency.example.immutable;


import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import com.huhao.concurrency.annoations.ThreadSafe;
import lombok.extern.slf4j.Slf4j;

/**
 * ImmutableImmutable
 */
@Slf4j
@ThreadSafe
public class ImmutableImmutable {
    private final static ImmutableList<Integer> list = ImmutableList.of(1, 2, 3);
    private final static ImmutableSet set = ImmutableSet.copyOf(list);

    private final static ImmutableMap<Integer, Integer>
            map = ImmutableMap.of(1, 2, 3, 4);

    private final static ImmutableMap<Integer, Integer>
            map2 = ImmutableMap.<Integer, Integer>builder()
            .put(1, 2).put(3, 4).put(5, 6)
            .build();

    public static void main(String[] args) {
        //会抛出异常
        //list.add(4);

        //会抛出异常
//        map.put(1, 4);
//        map2.put(1, 4);
    }

}
